home *** CD-ROM | disk | FTP | other *** search
/ Cracking - A jak se proti němu bránit / Cracking-a-jak-se-proti-nemu-branit-covermount.bin / Priklady / Priklad 22 / Detect22.asm next >
Encoding:
Assembly Source File  |  2000-08-16  |  2.3 KB  |  72 lines

  1. .386
  2. .MODEL FLAT,STDCALL
  3. locals
  4. jumps
  5. UNICODE=0
  6. include w32.inc
  7.  
  8.  
  9. Extrn SetUnhandledExceptionFilter : PROC
  10.  
  11. .DATA
  12.  
  13. sprava1        db "Detekcia pomocou CreateFileA (SIWVIDSTART)",0
  14. sprava3        db "Soft-Ice najdeny",0
  15. sprava2        db "Soft-Ice nenasiel",0
  16. odlozESP       dd 0                             ;sem uklada register ESP
  17. predchadzajuca dd 0                             ;sem uklada adresu predchadzajucej obsluhy SEH
  18. SIWVIDSTART       db "\\.\SIWVIDSTART",0        ;meno ovladaca Soft-Ice
  19.  
  20. .CODE
  21. Start:
  22.  
  23. ;----------------------------------------------------------------------------
  24. ;NASTAVI SEH PRE PRIPAD CHYBY
  25. ;----------------------------------------------------------------------------
  26.                 mov  [odlozESP],esp
  27.                 push offset chyba
  28.                 call SetUnhandledExceptionFilter
  29.                 mov  [predchadzajuca], eax
  30. ;----------------------------------------------------------------------------
  31.  
  32.                 call CreateFileA, OFFSET SIWVIDSTART, FILE_FLAG_WRITE_THROUGH, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL
  33.                                                 ;snazi sa otvorit subor SIWVIDSTART
  34.  
  35.                 push eax                        ;ulozi navratovu hodnotu
  36.  
  37.  
  38. ;----------------------------------------------------------------------------
  39. ;NASTAVI PREDCHADZAJUCU OBSLUHU SEH
  40. ;----------------------------------------------------------------------------
  41.                 push dword ptr [predchadzajuca]
  42.                 call SetUnhandledExceptionFilter
  43. ;----------------------------------------------------------------------------
  44.  
  45.                 pop  eax                        ;obnovi navratovu hodnotu
  46.  
  47.                 cmp  eax, -1                    ;testuje, ci sa mu to podarilo
  48.                 jnz  skok                       ;ak ano skoci pretoze Soft-Ice je aktivny v pamati
  49.  
  50.  
  51. continiue:
  52.                 call MessageBoxA,0, offset sprava2, offset sprava1,0
  53.                 call ExitProcess, -1
  54.  
  55. skok:
  56.  
  57.                 call MessageBoxA,0, offset sprava3, offset sprava1,0
  58.                 call ExitProcess, -1
  59.  
  60.  
  61.  
  62.  
  63. chyba:                                          ;nova obsluha SEH pre pripad chyby
  64.  
  65.                 mov  esp, [odlozESP]
  66.                 push offset continiue
  67.                 ret
  68.  
  69.  
  70. ends
  71. end Start
  72.